package com.schoolcloud.social.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.ToString;

/**
 * 会话表
 * @TableName conversations
 */
@TableName(value ="conversations")
@Data
@ToString
public class Conversations implements Serializable {
    /**
     *
     */
    @TableId(type = IdType.AUTO)
    private Integer conversationId;

    /**
     * 创建者
     */
    private String userId;

    /**
     *user,system
     */
    private String creatorType;

    /**
     * 会话来源类型:  'lost_and_found',  -- 失物招领
    'marketplace',     -- 二手市场
    'chat_room',       -- 聊天室
    'customer_service',-- 客服
    'system'
     */
    private String sourceType;

    /**
     * 关联的业务ID
     */
    private Integer sourceId;

    /**
     * 是否群聊(0不是，1是）
     */
    private Integer isGroup;

    /**
     * 群聊最大人数限制
     */
    private String maxParticipants;

    /**
     * 是否活跃
     */
    private Integer isActive;

    /**
     * 是否归档
     */
    private String isArchived;

    /**
     * 最后一条消息id
     */
    private Integer lastMessageId;

    /**
     * 最后一条消息时间
     */
    private LocalDateTime lastMessageTime;

    /**
     * 状态（正常、删除）
     */
    private Integer status;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    @Serial
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}
